Robust Header Compression (RoHC) is used in 3rd Generation Partnership Project (3GPP) Long Term Evolution (LTE) networks to minimize the amount of information transmitted over the air. RoHC is defined in Internet Engineering Task Force (IETF) Request for Comments (RFC) 3095, “RObust Header Compression (ROHC): Framework and four profiles: RTP, UDP, ESP, and uncompressed.” In particular, in 3GPP LTE, RoHC is utilized in the Packet Data Convergence Protocol (PDCP) layer to minimize the amount of information in Internet Protocol (IP)/User Datagram Protocol (UDP)/Real-Time Protocol (RTP) headers by taking advantage of the repetitive (correlated) nature of some of the fields in the IP/UDP/RTP headers. This is particularly beneficial for Voice over IP (VoIP) traffic where the amount of data being transmitted is typically much smaller than the size of the uncompressed IP/UDP/RTP headers. RoHC defines a “compressor,” which is the sender of RoHC compressed packets, and a “decompressor,” which is the receiver of the RoHC compressed packets.
RoHC uses a compression technique that eliminates or minimizes fields that have to be sent to the decompressor. In particular, RoHC uses a compression technique that eliminates or minimizes fields that are static (do not change) or that are correlated to a field called “Sequence Number” (SN), which is more specifically referred to herein as a RoHC SN. Uncorrelated fields are sent “as is” (or uncompressed). At all times, the compressor and decompressor maintain “state information” that describes what fields are inferred and how those fields are correlated to the SN. This state information is also referred to as context information or as a context of the compressor/decompressor. In consequence, in the highest state of compression, it is enough for the compressor to only send the SN and the uncorrelated fields to allow the decompressor to correctly reconstruct the original packet.
In RoHC, the SN is also usually compressed in that the SN is not sent in its entirety. In particular, for the SN field, RoHC uses Window-based Least Significant Bits (W-LSB) encoding. In essence, W-LSB encoding sends only the last k_c least significant bits of the SN field, where k_c is a computed value. The smaller the size of k_c, the more efficient the compression.
When the compressor and the decompressor operate at a compression level of k_c least significant bits for the SN field, a loss of a burst of 2k_c packets will result in an incorrect inference of the value of bit k_c+1 of the SN field at the decompressor and, therefore, an error in decompression (or decoding) of the true SN value. RFC 3095, Section 5.3.2.2.4, entitled “Correction of SN LSB wraparound,” describes a repairing mechanism for the SN after a decompression failure. In particular, after a decompression failure, an attempt is made to add a value of 2k_c to the last good reference SN at the decompressor (i.e., the full SN value for the last successfully decompressed packet at the decompressor). The decompressor then retries decompression, or decoding, of the W-LSB encoded SN using the new reference SN. As a consequence, this standard repair mechanism protects against loss of a burst of 2k_c+1 packets. For the most efficient compression case, where RoHC Packet Type UO-0 packets are sent, the k_c value is 4. Thus, in this case, the standard repair mechanism can protect against loss of a burst of at most 25=32 packets. Furthermore, changes in the pattern of correlated fields may occur during the burst of lost packets. While the compressor will flag those changes to the decompressor, the packets that are flagging the changes are lost. As a result, the decompressor will not receive the changes in the correlation patterns, which leads to some fields being incorrectly reconstructed during decompression, while other fields may be correctly reconstructed during decompression.
For radio links in general and radio links in a cellular communications network in particular, the communication channel is subject to temporary fading as well as interference from neighbor cells. As a result, bursts of lost packets are a real possibility. In particular, in a cellular communications network, the possibility of bursts of lost packets increases as the user device, or mobile terminal, approaches the edge of a cell. Further, in some cases, the size of a burst of lost packets may exceed 2k_c+1 packets, which leads to loss of “synchronicity” between the decompressor and the compressor (i.e., the decompressor is no longer able to successfully decompress packets from the compressor). This is referred to as context desynchronization.
When the decompressor loses synchronicity with the compressor, the RoHC standard defines a mechanism for recovery. The recovery mechanism entails an exchange of signals between the compressor and the decompressor followed by reverting to a state where packets are sent with little or no compression. This recovery mechanism is costly. In particular, the recovery mechanism requires extra signaling between the decompressor and the compressor (e.g., transmitting feedback negative acknowledgements) to inform the compressor of the loss of synchronization. The compressor must then react by generating and transmitting less compressed RoHC packet types. In addition, the recovery mechanism results in a delay before the compressor and the decompressor are able to return back to the RoHC peer-to-peer highest possible compression state due to round-trip delays associated with signaling, reaction to the received signals at the compressor, and possibly acknowledgements sent to the new RoHC packet types generated by the compressor. The recovery mechanism also results in wasted radio link, or air link, bandwidth because end user packets are discarded while the compressor and the decompressor attempt to regain synchronicity and reach the highest compression state. Further, the first few user packets sent by the compressor when attempting to regain synchronicity are sent in a less compressed form. In the worst case, the first few user packets when attempting to regain synchronicity are sent as uncompressed Initialization and Refresh (IR) packets. The less compressed or uncompressed packets translate to wasted air link bandwidth. The recovery mechanism also requires a substantial amount of time to regain synchronicity between the compressor and the decompressor. Lastly, the recovery mechanism results in a poor end-user experience in terms of the percentage of correctly decompressed packets being received and the time taken to recover from a burst of lost packets.
In light of the discussion above, there is a need for systems and methods for RoHC optimization to more efficiently and proactively protect against context desynchronization resulting from a burst of lost packets.